Algorithm characterizations